নিওফোরজে (Neo4J) একটি গ্রাফ ডেটাবেস ম্যানেজমেন্ট সিস্টেম, যা ডেটার মধ্যে সম্পর্ক এবং সংযোগকে গ্রাফের মাধ্যমে মডেল করে। পাইটনের মাধ্যমে নিওফোরজে এর ডেটা সহজেই ভিজ্যুয়ালাইজ করা যায়, যা ডেটার সম্পর্ক এবং স্ট্রাকচার আরও স্পষ্টভাবে উপস্থাপন করতে সহায়তা করে।
এই টিউটোরিয়ালে, আমরা নিওফোরজে ডেটাবেস থেকে ডেটা নিয়ে পাইটনে গ্রাফ ভিজ্যুয়ালাইজেশন কিভাবে করতে হয়, তা দেখব।
নিওফোরজে থেকে ডেটা নিয়ে আসা
পাইটনে নিওফোরজে ডেটাবেস থেকে ডেটা নিয়ে আসার জন্য neo4j লাইব্রেরি ব্যবহার করা হয়। এই লাইব্রেরি দিয়ে সহজেই আমরা গ্রাফের নোড এবং এজের তথ্য পেতে পারি।
প্রথমে, নিওফোরজে এর সাথে সংযুক্ত হতে হবে। নিচে একটি উদাহরণ দেওয়া হলো:
from neo4j import GraphDatabase
# Neo4j ডাটাবেসের সাথে সংযোগ স্থাপন
uri = "bolt://localhost:7687"
username = "neo4j"
password = "password"
driver = GraphDatabase.driver(uri, auth=(username, password))
# সেশনের মাধ্যমে ডেটা রিট্রিভ করা
def get_data_from_neo4j(query):
with driver.session() as session:
result = session.run(query)
return result
# একটি উদাহরণ কোয়েরি
query = "MATCH (a)-[r]->(b) RETURN a.name, r, b.name LIMIT 25"
data = get_data_from_neo4j(query)
এই কোডে MATCH কমান্ডের মাধ্যমে আমরা নোড এবং তাদের মধ্যে সম্পর্ক নিয়ে আসছি।
গ্রাফ ডেটা ভিজ্যুয়ালাইজেশন
গ্রাফ ভিজ্যুয়ালাইজেশন করতে আমরা NetworkX এবং Matplotlib লাইব্রেরি ব্যবহার করতে পারি। NetworkX গ্রাফ তৈরি এবং বিশ্লেষণের জন্য একটি জনপ্রিয় লাইব্রেরি, এবং Matplotlib গ্রাফের ভিজ্যুয়াল উপস্থাপনার জন্য ব্যবহৃত হয়।
নিচে একটি কোড উদাহরণ দেওয়া হলো:
import networkx as nx
import matplotlib.pyplot as plt
# গ্রাফ তৈরি করা
G = nx.Graph()
# নিওফোরজে ডেটা থেকে নোড এবং এজ যোগ করা
for record in data:
G.add_edge(record["a.name"], record["b.name"])
# গ্রাফ ভিজ্যুয়ালাইজেশন
plt.figure(figsize=(10, 10))
nx.draw(G, with_labels=True, node_color="skyblue", node_size=3000, font_size=10, font_weight="bold")
plt.title("Neo4j Graph Visualization")
plt.show()
এই কোডটি নিওফোরজে ডেটাবেস থেকে নোড এবং এজ নিয়ে NetworkX গ্রাফ তৈরি করবে এবং Matplotlib এর মাধ্যমে সেই গ্রাফের ভিজ্যুয়াল উপস্থাপনা করবে।
সারাংশ
পাইটনে নিওফোরজে ডেটাবেস থেকে গ্রাফ ডেটা নিয়ে ভিজ্যুয়ালাইজ করা অত্যন্ত সহজ এবং কার্যকর। Neo4j লাইব্রেরি দিয়ে ডেটাবেস থেকে তথ্য নেওয়ার পর NetworkX এবং Matplotlib ব্যবহার করে আমরা সেই ডেটার গ্রাফিক্যাল রিপ্রেজেন্টেশন তৈরি করতে পারি। এই প্রক্রিয়া গ্রাফ ডেটা বিশ্লেষণ এবং উপস্থাপনকে আরও সহজ ও কার্যকরী করে তোলে।
Read more